package com.lihepeng.leecode.solidaimoffer.string;

import org.junit.Test;

/**
 * 输入一个英文句子，翻转句子中单词的顺序，但单词内字符的顺序不变。为简单起见，标点符号和普通字母一样处理。例如输入字符串"I am a student. "，则输出"student. a am I"。
 * 示例 1：
 * 输入: "the sky is blue"
 * 输出: "blue is sky the"
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/fan-zhuan-dan-ci-shun-xu-lcof
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class Solution58_1 {
    public String reverseWords(String s) {
        if ("".equals(s.trim())) {
            return "";
        }
        String[] s1 = s.split(" ");
        for (int i = 0; i < s1.length / 2; i++) {
            String temp = s1[i];
            s1[i] = s1[s1.length - 1 - i];
            s1[s1.length - 1 - i] = temp;
        }
        StringBuffer sb = new StringBuffer();
        for (String ss : s1) {
            if (!"".equals(ss)) {
                sb.append(ss.trim()).append(" ");
            }
        }
        return sb.substring(0, sb.toString().length() - 1);
    }

    @Test
    public void runTest() {
        String theSkyIsBlue = reverseWords("  hello world!  ");

        System.out.println(theSkyIsBlue);
    }
}
